PySpark 处理数据异常笔记
整理的使用 PySpark 处理数据过程中遇到的一些异常问题,以及可能的解决方案。
1. 数据类型相关异常
1.1 数据计算过程中 PickleException
出现该问题是在计算相似度过程中出现相关的问题,具体情况是直接使用 PySpark 下的 DenseVector 计算余弦相似度,没有将结果转换为返回要求的 float 的情况下,会出现 net.razorvine.pickle.PickleException: expected zero arguments for construction of ClassDict (for numpy.dtype)
这样的异常信息。
解决方案:出现是该问题是在结算结果之后的数据类型不符合 API 设计,因此思路上检查数据的数据类型,尝试使用原子数据类型,例如将最终计算结果保存为 float 类型数据。